<?php
/**
* 
*/
class Thumb
{	
	// 设置变量
	// 宽度
	public $thumb_w = 300;
	//高度
	public $thumb_h = 300;

	// 缩略后的文件名后缀
	public $fix = '_thumb';
	
	public function __construct()
	{
		
	}

	// 方法合集
	public function thumb($file)
	{
		// ① 创建画布
		$res = imagecreatetruecolor($this->thumb_w, $this->thumb_h);
		// 取得画布的宽度大小
		$res_w = imagesx($res);
		$res_h = imagesy($res);

		// ② 获取图片资源
		$img = $this->getImageRes($file);
		// 取得原图的图片宽度大小
		$img_w = imagesx($img);
		$img_h = imagesy($img);

		// ③ 判断比例 取值
		if($img_w/$res_w>$img_h/$res_h)
		{
			$img_w=$img_h/$res_h*$res_w;
		}
		else
		{
			$img_h=$img_w/$res_w*$res_h;
		}

		// ④ 拷贝图像并改变大小
		imagecopyresized($res, $img, 0, 0, 0, 0, $res_w, $res_h, $img_w, $img_h);

		//⑤ 保持图片
		//a) 获得图片的信息 
		$info = getimagesize($file);
		//去除 mime 的 '/' 值  
		$func = str_ireplace('/', '', $info['mime']);
		//b) 获取缩略图的文件名
		// 获得文件的路径信息
		$fileInfo = pathinfo($file);
		// 缩略后的最新文件名
		$thumb_file = $fileInfo['filename'].$this->fix.'.'.$fileInfo['extension'];
		
		// ⑥ 保存的缩略图
		$func($res,$thumb_file,80);

	}

	/**
	 * [② 图片资源获取]
	 * @param  [type] $file [description]
	 * @return [type]       [description]
	 */
	private function getImageRes($file)
	{
		// 取得图片的信息
		$info =  getimagesize($file);
		print_r($info);
		//把图片信息里面的mime 用 '/' 分开 存放到数组中
		$type = explode('/', $info['mime']);
		//生成图片的PHP函数 取得图片的标识
		$func = 'imagecreatefrom'.$type[1];
		return $func($file);
	}
}



?>